home *** CD-ROM | disk | FTP | other *** search
/ Practical Internet Web Designer 86 / PIWD86.iso / pc / contents / dreamweaver / software / dwmx2004.exe / Disk1 / data1.cab / Configuration_En / Commands / rename set.js < prev    next >
Encoding:
JavaScript  |  2003-09-05  |  3.4 KB  |  119 lines

  1. // Copyright 2000, 2001, 2002, 2003 Macromedia, Inc. All rights reserved.
  2.  
  3. //*************** GLOBALS *****************
  4. var FILE_CONFIG_PATH = dw.getConfigurationPath();
  5. var FILE_CUSTOM_SET = FILE_CONFIG_PATH + "/Menus/Custom Sets";
  6.  
  7. //******************* API **********************
  8. function commandButtons()
  9. {
  10.    return new Array( MM.BTN_OK,  "cmdOK()"
  11.                    , MM.BTN_Cancel, "cmdCancel()");
  12. }
  13.  
  14. function cmdOK(){
  15.   var newSetName, newSetFilename, facSetArray = new Array(), custSetArray = new Array();
  16.   var canWrite = true;
  17.   var oldFileName = MM.commandArgument;
  18.   
  19.   if (getExtension(oldFileName) != "xml")
  20.     oldFileName += ".xml";
  21.   newSetName = document.renameSetNameField.value;
  22.   
  23.   if (newSetName.lastIndexOf(".xml") != newSetName.length-4){
  24.     newSetFilename = newSetName + ".xml";
  25.   }else{
  26.     newSetFilename = newSetName;
  27.   }
  28.  
  29.   if (isSet(newSetName, "factory"))   // check to see if name used by factory set
  30.   {
  31.     alert(errMsg(MSG_NameUsedByFactorySet, newSetName));
  32.       canWrite = false;
  33.   }
  34.   else if (isSet(newSetFilename, "custom"))
  35.   { 
  36.     if (oldFileName == newSetFilename)
  37.       {
  38.         alert(MSG_SetNameIsTheSame);
  39.         canWrite = false;
  40.       }
  41.      else if (!confirm(errMsg(MSG_ShortcutSetAlreadyExists,newSetName)))
  42.          canWrite = false;
  43.   }
  44.   if (canWrite){
  45.     var oldFileContents = DWfile.read(FILE_CUSTOM_SET +"/"+ oldFileName);
  46.     var newFileContents = oldFileContents.replace(/<SHORTCUTSET name="[^"]*">/i,'<SHORTCUTSET name="' + newSetName + '">');
  47.     if (!DWfile.write(FILE_CUSTOM_SET+"/"+newSetFilename,newFileContents)){
  48.         alert(errMsg(MSG_InvalidFileNameCannotSave, newSetFilename));
  49.     }else{
  50.         DWfile.remove(FILE_CUSTOM_SET +"/"+ oldFileName);
  51.         MM.commandReturnValue = newSetName;
  52.         window.close();
  53.       }
  54.   }
  55. }
  56.  
  57. function cmdCancel()
  58. {
  59.   window.close();
  60. }
  61. //***************** LOCAL FUNCTIONS  ******************
  62.  
  63. function initializeUI()
  64.   var origSetFilename = MM.commandArgument; // orig Set Filename should be passed in 
  65.   var origSetFile = FILE_CUSTOM_SET + "/" + origSetFilename;
  66.   var origSetDOM = dw.getDocumentDOM(origSetFile);
  67.   var origSetName = origSetDOM.getElementsByTagName('SHORTCUTSET')[0].getAttribute('name');
  68.   
  69.   document.renameSetNameField.value = origSetName;
  70.   document.renameSetNameField.focus();
  71.   document.renameSetNameField.select();
  72. }
  73.  
  74. function getCustomSetList(setType)
  75. {
  76.   var fileObj, filterFunction;
  77.   fileObj = new File(FILE_CUSTOM_SET);
  78.   if (setType == "factory")
  79.     filterFunction =  new Function("x", "return (x.isFile()) && (x.getAttributes() == 'R') && (x.getExtension()== 'xml');");
  80.   else
  81.     filterFunction =  new Function("x", "return (x.isFile()) && (x.getAttributes() != 'R') && (x.getExtension()== 'xml');");
  82.   return fileObj.listFolder(filterFunction);
  83. }
  84.  
  85. function isSet(setName, setType)
  86. {
  87.   var facSetArray = new Array(), i, retVal = false;
  88.   facSetArray = getCustomSetList(setType);
  89.   for (i=0; i<facSetArray.length; i++)
  90.   {
  91.     if (facSetArray[i] == setName)
  92.     {
  93.       retVal = true;
  94.       break;
  95.     }
  96.   }
  97.   return retVal;
  98. }
  99.  
  100. function getExtension(fileName)
  101. {
  102.   var retVal = "", index;
  103.     
  104.   index = fileName.lastIndexOf(".");
  105.   if (index != -1)
  106.     retVal = fileName.substring(index+1);
  107.   return retVal;
  108. }
  109.  
  110. function getSimpleName(fileName)
  111. {
  112.   var index; retVal = fileName;
  113.   
  114.   index = fileName.lastIndexOf(".");
  115.   if (index != -1)
  116.     retVal = fileName.substring(0,index);
  117.   return retVal;
  118. }